// 导入腾讯位置服务
import QQMap from '../../../utils/qqmap'
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
  // 获取地理位置
  async getLocation() {
    // 1. 获取经纬度
    let { latitude, longitude, errMsg } = await wx.getLocation()
    if (errMsg !== 'getLocation:ok') return wx.utils.toast('获取失败')
    // 2. 通过经纬度解析出地址位置信息
    this.getPoint(latitude, longitude)
  },
  // 选择地理位置
  async chooseLocation() {
    // 1. 选择位置
    let { latitude, longitude, errMsg } = await wx.chooseLocation()
    if (errMsg !== 'chooseLocation:ok') return wx.utils.toast('选择失败')
    // 2. 通过经纬度解析出地址位置信息
    this.getPoint(latitude, longitude)
  },
  // 获取经纬度对应的位置信息
  getPoint(latitude, longitude) {
    // 1. 通过逆地址解析出经纬度信息
    QQMap.reverseGeocoder({
      location: [latitude, longitude].join(','),
      success: ({ result }) => {
        this.setData({ address: result.address })
      }
    })
    // 2.获取附近的小区
    QQMap.search({
      keyword: '住宅小区',
      location: [latitude, longitude].join(','),
      success: (result) => {
        // 处理数据
        const points = result.data.map(({ id, title, _distance }) => ({ id, title, _distance }))
        // 设置数据
        this.setData({ points })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.getLocation()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})